Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO


■SASI型ハードディスクインターフェース
解説  o SASI型ハードディスクインターフェースは、PC-9801初代からサポート
	されているHDD I/Fである。1ドライブあたりの最大容量は40Mバイト
	(NEC製品の場合)、最大2台まで接続できる。
      o	SASI型ハードディスクを接続するためのインターフェースボード、および
	内蔵した本体、内蔵用増設ハードディスクは以下の通り。
	- SASI型ハードディスクインターフェースボード
	  PC-9801-07(PC-9801初代・E・F・M専用)
	  PC-9801-27
	- SASI型ハードディスク内蔵機種
	  PC-9801F3・M3
	  PC-9801VM4・VX4・VX41・UX41・ES5・EX4
	  PC-9801LS5・LX4・LX5・LX5C・T/F5・T/F51・T/S5・T/W5
	  PC-9801RA5・RA51・RS51・RX4・RX51・CS5・DA5・DA/U5・DS5・DS/U5・DX5・DX/U5
	  PC-98XA model3・31
	  PC-98XL model4
	  PC-98XL^2
	  PC-98RL model5・51
	  PC-98GS model1・2
	  PC-H98 model 60(U60)-040
	  PC-H98S model 8(U8)-040
	- SASI型内蔵用増設ハードディスク
	  PC-9801CS-35
	  PC-9801DA-35
	  PC-9801ES-34
	  PC-9801RA-34
	  PC-9801RA-35
	  PC-9801T-35
	  PC-9801UX-31
	  PC-98DO/P-35
	  PC-H98/70-E01
	  PC-H98/70-E03
      o PC-9801FA以降のデスクトップ機や98NOTEでは、SASI型ハードディスクを
	本体に内蔵することはできない。SASI型に代わり、SCSIハードディスクや
	IDEハードディスクが採用されているため。ただし、これらの機種でも
	IDEハードディスクを内蔵しなければ、PC-9801-27経由でSASI型ハード
	ディスクを接続することができる。
      o	PC-9801RA2・RX2・RX21のハードディスク専用スロットには、SASI型の内蔵用
	増設ハードディスクのみ実装できる。
      o	PC-9801RA21・RS21・DA2・DS2・DX2・T, PC-98RL, PC-H98のハードディスク専用
	スロットには、SASI型またはSCSI型の内蔵用増設ハードディスクを実装
	できる。
      o	PC-9801FA以降のデスクトップ機に、PC-9801FA-03(増設用3.5インチ固定
	ディスクドライブ接続ユニット)を接続すると、PC-9801RA21等で使用できる
	内蔵用増設ハードディスクを実装することができる。
      o SASI型ハードディスクにDISK BIOSでアクセスするとき、DA/UA(ドライブを
	指定ために使用する値)には、80h(1台目),81h(2台目)を指定する。IDEハード
	ディスクも同様である。これは、IDEがSASIの置き換えを目的にしたもの
	であるからだ。
	このため、両者は異なったハードウェアインターフェースを持つにも
	かかわらず、同時に使用することはできない。
      o PC-H98/70-E01・E03(PC-H98専用のSASI型内蔵用増設ハードディスク)は
	SASI型ハードディスクに分類されるが、DA/UAには82h(内蔵),83h(外付)を
	使用する。このタイプのディスクを内蔵した本体にPC-9801-27を実装して、
	SASI型ハードディスクを接続することもできる。このとき、PC-9801-27経由で
	接続されたHDDのDA/UAは80h,81h、PC-H98/70-E01・E03とそれに接続された
	HDDのDA/UAは82h,83hになる。
      o	PC-H98/70-E02(PC-H98専用のESDI型内蔵用増設ハードディスク)は、DA/UAに
	82hを使用する。このタイプのディスクを内蔵した本体にPC-9801-27を実装
	して、SASI型ハードディスクを接続することもできる。このとき、PC-9801-27
	経由で接続されたHDDのDA/UAは80h,81h、PC-H98/70-E02のDA/UAは82hになる。
      o SASI型ハードディスクインターフェースの使用する資源は以下の通り。
	外部割り込み: INT3(INT 11h)固定
	     * PC-H98/70-E01・E03は変更可能
	DMA: PC-9801-07・27 = CH 0固定
	     PC-98XA内蔵型 = CH 3固定
	     PC-9801T・DA・DS・DX・CS,PC-98GS,PC-98RL(ノーマル)内蔵型 = CH0,1選択可(*1)
	     PC-98RL内蔵型(ハイレゾ) = CH0,2選択可(*2)
	     その他内蔵型  = CH0固定(*3)
	     *1: DIP SW 3-3=OFFでCH0、ONでCH1
	     *2: DIP SW 3-3=OFFでCH0、ONでCH2
	     *3: PC-H98/70-E01・E03は変更可能
	BIOS: D7000〜D7FFFh(ノーマルモード)
	     * ハイレゾモードでは、本体BIOS内に含まれる
	     * PC-H98/70-E01・E03は、D0000〜DFFFFhの間の8Kバイトから選択可能
      o SASI型ハードディスクインターフェースが使用するI/Oアドレスは以下の通り。
	-----------+----+---+-------------------------------------------------
	I/Oアドレス|幅  |R/W|内容
	-----------+----+---+-------------------------------------------------
	0080h      |BYTE| R |Input Data Register
	0080h      |BYTE| W |Output Data Register
	0082h      |BYTE| R |Input Status Register
	0082h      |BYTE| W |Output Control Register
	-----------+----+---+-------------------------------------------------
関連	0000:0484h
	0000:055Ch
	0000:0585h
	0000:0586h
	0000:05E8h
	0000:05ECh
	D700:0000〜D700:0FFFh		
	INT 11h(外部割り込み)
	INT 1Bh(SASI)
	I/O 000Ah bit 1			


I/O	0080h
名前	Input Data Register, Output Data Register
機能
	[READ]	Input Data Register
		* データレジスタ読み出し
	[WRITE]	Output Data Register
		* データレジスタ書き込み
解説  o SASIバスへのコマンド出力,入出力データの転送を行う。
関連	I/O 0082h


I/O	0082h
名前	Input Status Register, Output Control Register
機能
	[READ]	ステータスレジスタ(NRDSW=0のとき)
	bit 7: CT0 - SASI 1台目HDDセクタ長(SASI I/FボードのDIP SW 1-1)
		1= OFF(512バイトセクタ)
		0= ON (256バイトセクタ)
	bit 6: CT1 - SASI 2台目HDDセクタ長(SASI I/FボードのDIP SW 1-2)
		1= OFF(512バイトセクタ)
		0= ON (256バイトセクタ)
	bit 5〜3: DT02,01,00 - SASI 1台目HDD容量(I/FボードDIP SW 1-3〜5)
		111b= 未接続
		110b= 40MB
		100b= 20MB
		001b= 10MB
		000b=  5MB
	bit 2〜0: DT12,11,10 - SASI 2台目HDD容量(I/FボードDIP SW 1-6〜8)
		111b= 未接続
		110b= 40MB
		100b= 20MB
		001b= 10MB
		000b=  5MB
	[READ]	ステータスレジスタ(NRDSW=1のとき)
	bit 7: REQ(Request) - SASIバス信号状態
		ハードディスクからのデータ転送要求
	bit 6: ACK(Acknowledge) - SASIバス信号状態
		REQ信号へのアクノリッジ(内蔵型には存在しない)
	bit 5: BSY(Busy) - SASIバス信号状態
		1= バス使用中
		0= バス非使用中
	bit 4: MSG(Message) - SASIバス信号状態
		1= メッセージバイト
		0= 非メッセージバイト
	bit 3: CXD(Command/Data#) - SASIバス信号状態
		1= コマンドバイト
		0= データバイト
	bit 2: IXO(Input/Output#) - SASIバス信号状態
		1= INPUT
		0= OUTPUT
	bit 1: 未定義
	bit 0: INT(Interrupt) - 割込出力信号状態
	[WRITE]	コントロールレジスタ
	bit 7: CHEN(Channel Enable) - SASIバスへのデータ出力
		1= 許可
		0= 禁止
		* 内蔵型には存在しない。
	bit 6: NRDSW(Read Switch) - ステータスレジスタリード時のモード選択
	bit 5: SEL(Select) - SASIバスのSEL信号制御
		1= ON
		0= OFF
	bit 4: 未定義
	bit 3: RST(Reset) - SASIバスリセット
		* 1→0にしたとき、SASIバスのRST信号が400ns間アクティブになる
	bit 2: 未定義
	bit 1: DMAE(DMA Enable) - DMA使用の選択
		1= DMAモード
		0= プログラムI/Oモード
	bit 0: INTE(Interrupt Enable) - 割り込み要求のマスク
		1= 許可
		0= 禁止
解説  o SASIバスの制御と状態取得を行う。
関連	I/O 0080h